package dao;

import java.util.List;
import entity.Dormitory;

public interface DormitoryDao {
	/**
	 * 失败,返回空集合, size()==0
	 * @return
	 */
	List<Dormitory> findAll();	
//	Dormitory find(int id);		//建议使用find(id, id_apart)	!!!!!!!!!!!!!!!!!!!!
	boolean insert(Dormitory dorm);
//	boolean delete(int id);		//建议使用 delete(id, id_apart)	!!!!!!!!!!!!!!!!!!!!
	boolean update(Dormitory dorm);
	
	/**
	 * 查找 调用 BaseDao类的getConn()和CloseAll()方法, 失败返回null
	 * Dormitory主码是 id,id_apart
	 * @param id
	 * @param id_apart
	 * @return
	 */
	Dormitory find(int id, int id_apart);
	//宿舍内有学生或者宿舍不存在, 均不允许删除
	boolean delete(int id, int id_apart);
	/**
	 * 根据公寓id查找宿舍集合, 无, 返回集合size=0
	 * @param id_apart
	 * @return
	 */
	List<Dormitory> findByApart(int id_apart);
	/**
	 * 根据公寓id查找宿舍集合, 无, 返回集合size=0
	 * 要求 宿舍要不满
	 * @param id_apart
	 * @return
	 */
	List<Dormitory> findByApartIfSpace(int id_apart);
	
}
